package com.admin.education.services.Interfaces;

import com.admin.education.common.exceptions.ResourceNotFoundException;
import com.admin.education.dataTransferObject.PageRequest;
import com.admin.education.dataTransferObject.PageResponse;
import com.admin.education.dataTransferObject.ServicesExcuteResult;
import com.admin.education.dataTransferObject.activity.ActivityTransfer;
import com.admin.education.dataTransferObject.activity.Request.CreateActivityRequest;
import com.admin.education.dataTransferObject.activity.Request.UpdateActivityRequest;

import javax.validation.Valid;

public interface IActivityService {
    ServicesExcuteResult<PageResponse<ActivityTransfer>> queryActivities(@Valid PageRequest pageRequest);
    ServicesExcuteResult createActivity(@Valid CreateActivityRequest createActivityRequest);
    ServicesExcuteResult updateActivity(long activityId, @Valid UpdateActivityRequest activityRequest) throws ResourceNotFoundException;
    ServicesExcuteResult deleteActivity(long activityId) throws ResourceNotFoundException;
    ServicesExcuteResult setValudActivity(long activityId) throws ResourceNotFoundException;
    ServicesExcuteResult<ActivityTransfer> queryActivityById(long activityId) throws ResourceNotFoundException;
}
